package com.htudata.item.mapper;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface ItemMapper {
  List<Map<String, Object>> selectItemKinds(JSONObject paramJSONObject);
  
  JSONArray selectItemInfos(JSONObject paramJSONObject);
  
  JSONArray selectNodesAndFlowsByItemId(JSONObject paramJSONObject);
  
  JSONArray selectShowedItemsByFlowId(JSONObject paramJSONObject);
  
  JSONArray selectShowedLocalItemsByFlowId(JSONObject paramJSONObject);
  
  JSONArray selectItems(JSONObject paramJSONObject);
  
  JSONArray selectItemsAndNodes(JSONObject paramJSONObject);
  
  JSONArray selectShowItemsByFlowId(@Param("flowId") String paramString, @Param("userId") long paramLong);
  
  JSONArray selectShowItemsByNodeId(@Param("nodeId") String paramString, @Param("userId") long paramLong);
  
  void updateShowOrHideItems(@Param("nodeId") String paramString, @Param("isShowed") int paramInt);
  
  void insertHidedItemNode(@Param("nodeId") String paramString, @Param("userId") long paramLong);
  
  void deleteHidedItemNode(@Param("nodeId") String paramString, @Param("userId") long paramLong);
  
  void batchInsertFlowShowedItems(@Param("flowId") String paramString, @Param("itemIdList") List<Long> paramList, @Param("userId") long paramLong);
  
  void deleteFlowShowedItemsByFlowId(@Param("flowId") String paramString, @Param("userId") long paramLong);
  
  void batchInsertNodeShowedItems(@Param("nodeId") String paramString, @Param("itemIdList") List<Long> paramList, @Param("userId") long paramLong);
  
  void deleteNodeShowedItemsByNodeId(@Param("nodeId") String paramString, @Param("userId") long paramLong);
  
  void batchInsertFlowHiddenItems(@Param("flowId") String paramString, @Param("itemIdList") List<Long> paramList, @Param("userId") long paramLong);
  
  void deleteFlowHiddenItemsByFlowId(@Param("flowId") String paramString, @Param("userId") long paramLong);
}
